package com.ruoyi.project.module.movieuser.controller;

import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.page.TableDataInfo;
import com.ruoyi.project.module.movieuser.domain.Movieuser;
import com.ruoyi.project.module.movieuser.service.IMovieuserService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 电影用户 信息操作处理
 * 
 * @author ruoyi
 * @date 2018-11-14
 */
@Controller
@RequestMapping("/module/movieuser")
public class MovieuserController extends BaseController
{
    private String prefix = "module/movieuser";
	
	@Autowired
	private IMovieuserService movieuserService;
	
	@RequiresPermissions("module:movieuser:view")
	@GetMapping()
	public String movieuser()
	{
	    return prefix + "/movieuser";
	}
	
	/**
	 * 查询电影用户列表
	 */
	@RequiresPermissions("module:movieuser:list")
	@PostMapping("/list")
	@ResponseBody
	public TableDataInfo list(Movieuser movieuser)
	{
		startPage();
        List<Movieuser> list = movieuserService.selectMovieuserList(movieuser);
		return getDataTable(list);
	}
	
	/**
	 * 新增电影用户
	 */
	@GetMapping("/add")
	public String add()
	{
	    return prefix + "/add";
	}
	
	/**
	 * 新增保存电影用户
	 */
	@RequiresPermissions("module:movieuser:add")
	@Log(title = "电影用户", businessType = BusinessType.INSERT)
	@PostMapping("/add")
	@ResponseBody
	public AjaxResult addSave(HttpServletRequest request)
	{
		Movieuser movieuser=new Movieuser();

		/** 用户姓名 */
		String userName=request.getParameter("userName");
		movieuser.setUserName(userName);
		/** 用户登录名 */
		String loginname=request.getParameter("loginname");
		movieuser.setLoginname(loginname);
		/** 用户登陆密码 */
		String loginpassword=request.getParameter("loginpassword");
		movieuser.setLoginpassword(loginpassword);
		/** 用户性别 */
		Integer sex=Integer.valueOf(request.getParameter("sex"));
		movieuser.setSex(sex);
		/** 用户状态（0正常 1停用） */
		int status=Integer.valueOf(request.getParameter("status"));
		movieuser.setStatus(status);
		String remark=request.getParameter("remark");
		movieuser.setRemark(remark);
		return toAjax(movieuserService.insertMovieuser(movieuser));
	}

	/**
	 * 修改电影用户
	 */
	@GetMapping("/edit/{userId}")
	public String edit(@PathVariable("userId") Integer userId, ModelMap mmap)
	{
		Movieuser movieuser = movieuserService.selectMovieuserById(userId);
		mmap.put("movieuser", movieuser);
	    return prefix + "/edit";
	}
	
	/**
	 * 修改保存电影用户
	 */
	@RequiresPermissions("module:movieuser:edit")
	@Log(title = "电影用户", businessType = BusinessType.UPDATE)
	@PostMapping("/edit")
	@ResponseBody
	public AjaxResult editSave(HttpServletRequest request)
	{
		Movieuser movieuser=new Movieuser();
		/** 用户ID */
		 Integer userId=Integer.valueOf(request.getParameter("userId"));
		movieuser.setUserId(userId);
		/** 用户姓名 */
		 String userName=request.getParameter("userName");
		movieuser.setUserName(userName);
		/** 用户登录名 */
		 String loginname=request.getParameter("loginname");
		movieuser.setLoginname(loginname);
		/** 用户登陆密码 */
		 String loginpassword=request.getParameter("loginpassword");
		movieuser.setLoginpassword(loginpassword);
		/** 用户性别 */
		 Integer sex=Integer.valueOf(request.getParameter("sex"));
		movieuser.setSex(sex);
		/** 用户状态（0正常 1停用） */
		 int status=Integer.valueOf(request.getParameter("status"));
		movieuser.setStatus(status);
		 String remark=request.getParameter("remark");
		 movieuser.setRemark(remark);
		return toAjax(movieuserService.updateMovieuser(movieuser));
	}
	
	/**
	 * 删除电影用户
	 */
	@RequiresPermissions("module:movieuser:remove")
	@Log(title = "电影用户", businessType = BusinessType.DELETE)
	@PostMapping( "/remove")
	@ResponseBody
	public AjaxResult remove(String ids)
	{		
		return toAjax(movieuserService.deleteMovieuserByIds(ids));
	}
	
}
